专利摘要:
Die Erfindung betrifft eine dynamische Steuerung von Rechnerressourcen bei der Verarbeitung von Prozessdaten (10) in einer Pipeline (12). Die Pipeline (12) umfasst eine Vielzahl von Pipeline-Prozessoren (Pi), die jeweils nach einem Anytime Ansatz arbeiten, und ein Ergebnis zu einem einstellbaren Zeitpunkt generieren können. Durch Erfassung des Laufzeitverhaltens der beteiligten Pipeline-Prozessoren (Pi) über einen IST-Wert kann unmittelbar und zur Laufzeit Einfluss auf die Ressorcenverteilung genommen werden, ohne dass die Verarbeitung der Prozessdaten (10) unterbrochen werden muss.The invention relates to a dynamic control of computer resources in the processing of process data (10) in a pipeline (12). The pipeline (12) comprises a multiplicity of pipeline processors (Pi), which each work according to an anytime approach and can generate a result at an adjustable time. By recording the runtime behavior of the involved pipeline processors (Pi) via an actual value, it is possible to influence the resource distribution directly and at runtime without having to interrupt the processing of the process data (10).
公开号:DE102004001680A1
申请号:DE200410001680
申请日:2004-01-12
公开日:2005-08-04
发明作者:Jörg ILLMANN
申请人:Siemens AG;
IPC主号:G06F9-30
专利说明:
[0001] Dievorliegende Erfindung betrifft ein Verfahren und ein System zurdynamischen Steuerung, vorzugsweise zum dynamischen Zuweisen, vonRechnerressourcen auf eine Vielzahl von Pipeline-Prozessoren einerPipeline. Die Erfindung betrifft insbesondere die Verarbeitung vonProzessdaten mittels einer Verarbeitungspipeline, der unter Laufzeitbedingungenund/oder währendder Verarbeitung der Prozessdaten dynamisch Ressourcen zugewiesenwerden können.TheThe present invention relates to a method and a system fordynamic control, preferably for dynamically assigningComputer resources on a variety of pipeline processors onePipeline. The invention particularly relates to the processing ofProcess data using a processing pipeline under runtime conditionsand / or duringthe process data is dynamically assigned to resourcescan be.
[0002] Beider Verarbeitung von Daten auf dem medizinischen Gebiet sind dieRahmenbedingungen häufigsehr unterschiedlich: zum einen gibt es Anwendungen, die ein sehrschnelles Verarbeiten der Daten erfordern, wie z.B. bei der Prozessdatenverarbeitungim Umfeld einer chirurgischen Operation, beispielsweise bei computergesteuertenminimal invasiven Eingriffen. Zum anderen existieren anderen Anwendungen,bei denen verstärktauf eine möglichstumfassende Datenerfassung geachtet werden muss und bei denen dieVerarbeitungszeit von geringerer Bedeutung ist, wie z.B. bei einerAnalyse von bereits erfaßtenDaten eines Patienten im Zusammenhang mit dem Aufstellen eines Behandlungsplanes.atthe processing of data in the medical field are theGeneral conditions oftenvery different: on the one hand, there are applications that are veryrequire fast processing of the data, such as in process data processingin the context of a surgical operation, for example in computer-controlledminimally invasive procedures. On the other hand there are other applications,where reinforcedon one as possibleComprehensive data collection must be respected and in which theProcessing time is of lesser importance, e.g. at aAnalysis of already detectedData of a patient in connection with the establishment of a treatment plan.
[0003] Darausergibt sich, dass je nach Anwendung und Einsatzzweck in ganz unterschiedlicherWeise auf die zur Verfügungstehenden Rechnerressourcen zugegriffen wird.from thatIt turns out that, depending on the application and purpose in very differentWay on the availablestationary computing resources is accessed.
[0004] Ausden oben beispielhaft skizzierten Anwendungsfällen ergibt sich, dass dieVerarbeitungsprozesse teilweise übereinen relativ langen Zeitraum aktiv sind. Dies kann dazu führen, dassdie aktuell zur Verfügungstehenden Rechnerressourcen überdie Dauer der Verarbeitung schwanken.OutThe examples outlined above by way of example show that theProcessing processes partly overa relatively long period of time are active. This can cause thatcurrently availablestationary computing resourcesthe duration of processing will vary.
[0005] Beibisherigen Systemen aus dem Stand der Technik konnten diese Schwankungender Laufzeitbedingungen und/oder der Rechnerressourcen nicht berücksichtigtwerden. Es wurde von festen, d.h. zu einem Zeitpunkt erfaßten Laufzeitparameternausgegangen. Von daher erwiesen sich vielfach Anwendungen als defizitär, wennwährendder Laufzeit Änderungenhinsichtlich der Systemkomponenten auftreten, z.B. dass für einenVerarbeitungsprozess nicht genügendRechenkapazitätzur Verfügungsteht oder dass ein Verarbeitungsergebnis in ungenügender Qualität generiertwird (beispielsweise ein Bild, das mit einer viel zu geringen Auflösung dargestellt wirdund von daher nicht brauchbar ist).atPrevious systems of the prior art could handle these variationsthe runtime conditions and / or computer resources are not taken into accountbecome. It was of solid, i. runtime parameters detected at a timewent out. As a result, many applications proved deficient whenwhilethe term changeswith regard to the system components, e.g. that for oneProcessing process insufficientcomputing capacityto disposalstands or that generates a processing result in insufficient qualitybecomes (for example, an image that is displayed with a far too low resolutionand therefore not useful).
[0006] BisherigeLösungenbasierten auf einem monolithischen Verarbeitungskonzept, das wedereine Modularisierung der Verarbeitungsprozesse noch eine Flexibilität gegenüber variablenSystemparametern zuließ.Previoussolutionsbased on a monolithic processing concept that neithera modularization of the processing processes still a flexibility over variableSystem parameters allowed.
[0007] Besonderseinige Echtzeitsysteme auf dem Gebiet der Medizintechnik erforderndie garantierte Einhaltung von vorgegebenen Zeitbedingungen. So istes fürdiese Systeme charakteristisch, dass z.B. innerhalb eines vordefiniertenZeitfensters ein Verarbeitungsprozess fertiggestellt, Messdatenerfaßt bzw.verarbeitet oder bestimmte Tasks angestossen sein müssen.Especiallyrequire some real-time systems in the field of medical technologyguaranteed adherence to given time conditions. So isit forthese systems are characteristic that e.g. within a predefinedTime window completed a processing process, measurement datarecorded orprocessed or certain tasks must be triggered.
[0008] InBezug auf die medizinische Datenverarbeitung von Bilddaten können dieaktuellen Anforderungen an den Verarbeitungsprozess insgesamt jedochsehr unterschiedlich sein. Sollen z.B. Bilder im Rahmen einer Befundanalyseverarbeitet werden, so ist ein maximaler Genauigkeitsgrad der Bilderentscheidend. Wie lange der Verarbeitungsprozess zur Darstellungder Bilder dauert ist in diesem Fall von nachrangiger Bedeutung.Im Gegensatz dazu muss aber z.B. die Datenabfrage von Bildern imRahmen eines operativen Eingriffs mit einem minimalen Zeitaufwanderfolgen. Hier steht also die Einhaltung der zeitli chen Rahmenbedingungenim Vordergrund. Ein System, das für verschiedene Anwendungenausgelegt und anwendbar ist (wie z.B. ein System zur Verarbeitungvon medizinischen Bilddaten), sollte deshalb auf sich zur Laufzeitdes Prozesses ändernde Systembedingungenund auch auf sonstige Bedingungen flexibel reagieren können.InRegarding the medical data processing of image data, thehowever, current requirements for the overall processing processbe very different. If, for example, Pictures as part of an analysis of findingsprocessed, so is a maximum degree of accuracy of the imagescrucial. How long the processing process to displaytaking pictures is of secondary importance in this case.In contrast, however, e.g. the data query of pictures in theA surgical intervention with a minimum of timerespectively. Here, therefore, is compliance with the temporal framework conditionsin the foreground. A system that works for different applicationsis designed and applicable (such as a system for processingof medical image data), should therefore be at runtimeof the process changing system conditionsand be able to react flexibly to other conditions.
[0009] Vergegenwärtigt mansich nun weiterhin, dass eine Vielzahl von Prozessen zeitgleichablaufen, so wird deutlich, dass die System- oder Rechnerressourcen über dieZeit sehr starken Schwankungen unterliegen.One visualizes oneNow continue that a lot of processes at the same timeexpire, it becomes clear that the system or computational resources on theTime are subject to very strong fluctuations.
[0010] Systeme,die auf einmal erfaßtenRechnerressourcen basieren und nicht flexibel auf Schwankungen hinsichtlichder Rechnerressourcen eingehen können,sind zum einen fehleranfälligund zum anderen ermöglichensie es nicht, die Systemressourcen für den aktuellen Prozess optimalauszunutzen. Sollen z.B. Bildverarbeitungsergebnisse angezeigt werden,währendsich die verfügbarenRessourcen zur Laufzeit des Prozesses ändern, so wäre es wünschenswert, den aktiven Verarbeitungsprozessdynamisch an die veränderten,aktuell verfügbarenRessourcen anzupassen, ohne den Verarbeitungsprozess unterbrechenzu müssen.systems,that seized at onceComputer resources are based and not flexible with regard to fluctuationsthe computer resources can enterare prone to errorand on the other handDo not do it, the system resources for the current process optimalexploit. If, for example, Image processing results are displayedwhilethe available onesChanging resources at runtime of the process, it would be desirable to have the active processing processdynamically to the changed,currently availableAdjust resources without interrupting the processing processto have to.
[0011] Bekanntsind Pipeline Konzepte fürdie Verarbeitung von Prozessdaten. Das Pipeline Konzept basiertauf einer sequentiellen Verarbeitung durch eine Vielzahl von hintereinandergeschalteten Pipeline Elementen oder Pipeline-Prozessoren. Um dies zuermöglichen,muss der Verarbeitungsprozess so strukturiert werden, dass er inkompakte, kleinere Module zerlegt werden kann. Diesen Verarbeitungsmodulenwerden dann einzelne Pipeline-Prozessoren zugeordnet. Damit entstehtder Vorteil, dass diese einzelnen Module leichter erstellt, validiertund an neue Anforderungen angepaßt werden können, als wenn man einen monolithischenGesamtblock hätte.Pipeline concepts for the processing of process data are known. The pipeline concept is based on a sequential processing by a multiplicity of successive pipeline elements or pipeline processors. To make this possible, the processing process must be structured so that it is compact, smaller Modules can be disassembled. These processing modules are then assigned individual pipeline processors. This has the advantage that these individual modules can be easily created, validated and adapted to new requirements, as if you had a monolithic block.
[0012] Mitdem Pipeline Konzept ist weiterhin der Vorteil verbunden, dass einebessere Lastverteilung des Gesamtsystems erzielt werden kann.WithThe Pipeline concept is further associated with the advantage that abetter load distribution of the overall system can be achieved.
[0013] Auchist es durch die Modularitätdes Systems möglich,sehr flexibel einzelne Module auf andere Art oder mit anderen Modulenzu kombinieren. Damit kann das Gesamtsystem geändert werden, ohne dass dieModule an sich neu erstellt werden müssen.Alsoit is through the modularityof the system possible,very flexible individual modules in a different way or with other modulesto combine. Thus, the entire system can be changed without theModules have to be recreated.
[0014] Auseinem anderen Umfeld sind sogenannte Anytime Algorithmen bekannt.Anytime Algorithmen wurden fürEchtzeitsysteme entwickelt und sind bisher für Systeme auf dem Gebiet derKünstlichenIntelligenz und der Robotik eingesetzt worden und basieren auf demAnsatz, dass ein Verarbeitungsergebnis zu jedem vordefinierbarenZeitpunkt generiert werden kann. Je nach Umfang des Zeitintervalls,das fürden Verarbeitungsprozess zur Verfügung steht, wird das Ergebnisin unterschiedlichen Qualitäts- oderGütestufengeneriert: Ist das Zeitintervall kurz, so ist die Gütestufefür dasVerarbeitungsergebnis geringer; ist das Zeitintervall lang, so istdie Gütestufe für das Verarbeitungsergebnishöher.Mit dem Anytime Ansatz wird es möglich,die Gütebzw. Qualität desVerarbeitungsergebnisses der Verarbeitungszeit gegenüberzustellenund diese beiden Faktoren gegeneinander abzuwägen. Bei Anytime Systemen kanndie Verarbeitungszeit sozusagen vom Anwender bestimmt bzw. gewählt werden.Das Anytime Konzept erfordert eine teilweise redundante Verarbeitungvon Daten und ist insofern mit dem Ansatz der Parallelverarbeitungverwandt.OutIn another environment, so-called anytime algorithms are known.Anytime algorithms were forReal-time systems have been developed and are currently used for systems in the field ofartificialIntelligence and robotics, and are based on thatApproach that a processing result to each predefinableTime can be generated. Depending on the scope of the time interval,that forthe processing process becomes available, the result becomesin different quality orSeverity levelsgenerated: If the time interval is short, then the quality levelfor theProcessing result lower; if the time interval is long, so isthe quality level for the processing resulthigher.With the Anytime approach it becomes possiblethe goodnessor quality of theContrast processing result of the processing timeand weigh these two factors against each other. In Anytime systems canthe processing time can be determined or chosen by the user, so to speak.The Anytime concept requires partially redundant processingof data and is thus in the approach of parallel processingrelated.
[0015] ImUnterschied dazu basiert die Pipelineverarbeitung auf einem reinsequentiellen Ansatz.in theIn contrast, pipelining is based on a puresequential approach.
[0016] DieErfindung basiert auf einer Kombination des Pipeline- und des Anytime-Ansatzes.TheInvention is based on a combination of the pipeline and the anytime approach.
[0017] Ausgehendvom eingangs erwähntenStand der Technik hat sich die vorliegende Erfindung deshalb zurAufgabe gesetzt, einen Weg aufzuzeigen, mit dem die Rechnerressourcenzur Laufzeit dynamisch den Verarbeitungs-Prozessoren zugewiesen werdenkönnen,ohne dass der Verarbeitungsprozess unterbrochen werden muss.outgoingfrom the aforementionedThe prior art has therefore the present invention forTask set to show a way with which the computer resourcesbe dynamically assigned to the processing processors at runtimecan,without the processing process having to be interrupted.
[0018] DieAufgabe wird durch die Merkmale der Erfindung gelöst, insbesonderedurch ein Verfahren zur dynamischen Steuerung von allgemeinen Systemressourcenin Bezug auf mehrere Prozessoren, die vorzugsweise in einer Pipelineangeordnet sein können,bei der Verarbeitung von Prozeßdatenunter veränderlichenLaufzeitbedingungen. Die Aufgabenlösung sieht weiterhin vor, dass: – einMonitoring zur Laufzeit erfolgt, das einen IST-Wert für die Verarbeitungszeitjeweils eines einzelnen Prozessors erfaßt, – einLogging von Meta-Daten bezüglichder Verarbeitung des jeweiligen Prozessors zur Laufzeit erfolgt, – einAnytime-Algorithmus angewendet wird, der jeweils einem Prozessorzugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligenProzessors zu einem beliebig wählbarenZeitpunkt, insbesondere vom Anwender wählbaren Zeitpunkt, generiert,und dass – einControl Mechanismus angewendet wird, der zur dynamischen Steuerungder Rechnerressourcen in Hinblick auf die Prozessoren in Abhängigkeitvon dem IST-Wert bestimmt ist. The object is achieved by the features of the invention, in particular by a method for the dynamic control of general system resources with respect to a plurality of processors, which may preferably be arranged in a pipeline, during the processing of process data under variable runtime conditions. The task solution also provides that: A monitoring takes place at runtime, which records an actual value for the processing time of a single processor in each case, A logging of meta-data concerning the processing of the respective processor takes place at runtime, - Anytime algorithm is applied, each associated with a processor and the result of the processing of the respective processor at an arbitrary time, in particular user-selectable time generated, and that A control mechanism is used, which is intended for the dynamic control of the computer resources with regard to the processors as a function of the actual value.
[0019] Vorzugsweisesind die Prozessoren als Pipeline-Prozessoren ausgebildet, alsoin einer Pipeline angeordnet. Es ist jedoch auch denkbar, dass die Prozessorenzwar ebenfalls modular agieren aber nach einer anderen Strukturfunktional miteinander interagieren.PreferablyThe processors are designed as pipeline processors, iearranged in a pipeline. However, it is also conceivable that the processorsAlthough also modular but act according to a different structurefunctionally interact with each other.
[0020] Vorzugsweiseumfaßtdie Aufgabenlösung einenweiteren Schritt, nämlichdas Erfassen eine SOLL-Wertes füreine gesamte Verarbeitungszeit. Dieser SOLL-Wert kann vom Anwender eingegeben werdenoder kann automatisch aus anderen Systemeigenschaften ermitteltwerden. Ist dieser SOLL-Wert erfaßt, wird dieser auch bei demControl Mechanismus berücksichtigt,als dass dieser die Steuerung insbesondere das Zuweisen von Rechnerressourcen aufdie Prozessoren in Abhängigkeitvon dem IST- und dem SOLL-Wert vornimmt.Preferablycomprisesthe task solution oneanother step, namelycapturing a DESIRED value fora total processing time. This DESIRED value can be entered by the useror can be determined automatically from other system propertiesbecome. If this target value is detected, this is also in theControl mechanism considered,In particular, this controller does allocate computational resourcesthe processors in dependenceof the ACTUAL and the DESIRED value.
[0021] Eineweitere Aufgabenlösungliegt in einem System nach Anspruch 11 und in einer Anordnung nachAnspruch 21.Aadditional task solutionresides in a system according to claim 11 and in an arrangementClaim 21.
[0022] Inder bevorzugten Ausführungsformder Erfindung ist der Control Mechanismus zur Laufzeit aktiviert.Es ist jedoch auch möglich,dass der Control Mechanismus bereits im Vorfeld oder in weiterenzeitlich ggf. nachgelagerten Zeitabschnitten aktiv ist. Der ControlMechanismus ist derart ausgelegt, dass er auch unter variablen Laufzeitbedingungendie aktuell verfügbarenRechnerressourcen steuert. Insbesondere ist er zur Zuweisung derverfügbarenRessourcen auf die Pipeline-Prozessorenbestimmt. Damit wird der Vorteil erzielt, dass die Verarbeitungsressourcenfür denjeweiligen Verarbeitungsprozess während des Ablaufs und damitmit maximaler Aktualitätgeplant werden können.Damit ist es möglich, aufspezifische Anforderungen, die indirekt Systemparameter betreffen,einzugehen und ein optimales Verarbeitungsergebnis zu erzielen.In the preferred embodiment of the invention, the control mechanism is activated at runtime. However, it is also possible that the control mechanism is already active in advance or in further temporally possibly subsequent time periods. The control mechanism is designed so that it also controls the currently available computer resources under variable runtime conditions. In particular, it is intended to allocate the available resources to the pipeline processors. This provides the advantage that the processing resources for the respective processing process can be planned during the process and thus with maximum actuality. This makes it possible to respond to specific requirements that indirectly affect system parameters and to achieve optimal processing results.
[0023] DasVerfahren ist in der bevorzugten Ausführungsform so ausgelegt, dassdas Monitoring kontinuierlich und/oder in vorbestimmbaren Zeitintervallen erfolgt.Damit kann der Anwender den Grad der gewünschten Aktualität und Flexibilität wählen.TheMethod is designed in the preferred embodiment, thatthe monitoring takes place continuously and / or in predeterminable time intervals.This allows the user to choose the level of the desired up-to-dateness and flexibility.
[0024] Vorteilhafterweisegreift der Control Mechanismus auf einen Execution-Time-Schedulerzu, der die Rechnerressourcen zur Laufzeit und ohne eine Unterbrechungder Verarbeitung der Prozeßdaten dynamischden Pipeline-Prozessoren derart zuweist, dass der SOLL-Wert für die gesamteVerarbeitungszeit eingehalten wird. Es ist jedoch auch möglich, dassder Control Mechanismus selbst so ausgelegt ist, daß der dieRechnerressourcen zur Laufzeit dynamisch den Pipeline-Prozessoren zuweistunter Berücksichtigungvon IST- und SOLL-Wert.Dabei soll der IST-Wert dem SOLL-Wert angeglichen werden.advantageously,the control mechanism accesses an execution time schedulerto which the computational resources are at runtime and without an interruptionthe processing of the process data dynamicallyassigns the pipeline processors such that the SETPOINT value for the entireProcessing time is maintained. However, it is also possible thatthe control mechanism itself is designed so that theDynamically allocate compute resources to the pipeline processors at runtimeconsideringof actual and target value.The actual value should be adjusted to the target value.
[0025] DieMeta-Daten umfassen zumindest Information über die Verarbeitungszeit (TimingInformation) des jeweiligen Pipeline-Prozessors. Hier können aber noch weitere Verarbeitungsdatenin Bezug auf den jeweiligen Prozessor, wie z.B. Qualitätsstufedes Verarbeitungsergebnisses, Prozessorleistung, freier Speicherplatzetc. abgelegt sein. Diese Meta-Daten werden neben den Prozessdatenvon Pipeline-Prozessor zu Pipeline-Prozessor weiter gereicht. Damit istein Pipeline-Prozessor immer überden exakt aktuellen Verarbeitungsstatus und/oder das Ergebnis desvorhergehenden Prozessors informiert.TheMeta data includes at least information about the processing time (timingInformation) of the respective pipeline processor. But here you can find more processing datawith respect to the particular processor, e.g. quality levelthe processing result, processor power, free spaceetc. stored. This meta-data will be next to the process datapassed from pipeline processor to pipeline processor. This isa pipeline processor always overthe exact current processing status and / or the result of theprevious processor informed.
[0026] Diehohe Variabilitätdes erfindungsgemäßen Systemsist darin zu sehen, dass der Anwender die Verarbeitungszeit nahezufrei bestimmen kann. Abhängigvon seiner Wahl der Verarbeitungszeit ist die Qualität bzw. Güte des Verarbeitungsergebnisses.Die gesamte Verarbeitungszeit wird über den SOLL-Wert vom Anwenderdefiniert. Dieser kann auch zur Laufzeit verändert oder erstmals eingestellt werden.Die Qualitätsstufedes Verarbeitungsergebnisses ergibt sich unmittelbar aus diesem SOLL-Wert.Thehigh variabilityof the system according to the inventioncan be seen in the fact that the user almost the processing timecan freely determine. Dependenthis choice of processing time is the quality of the processing result.The total processing time is above the DESIRED value by the userAre defined. This can also be changed at runtime or set for the first time.The quality levelof the processing result results directly from this SETPOINT value.
[0027] Einwichtiger Vorteil des erfindungsgemäßen Verfahrens ist darin zusehen, dass der SOLL-Wert fürdie Verarbeitungszeit auch zur Laufzeit dynamisch einstellbar ist,ohne, daß dieVerarbeitung der Prozessdaten unterbrochen werden muß. Sollenbeispielsweise Bildverarbeitungsergebnisse dargestellt werden undwerden die Anforderungen währendder Berechnung verändert(z.B. die zur Verfügungstehende Zeit wird verkürzt),so könnenschritthaltend mit dieser ÄnderungBildverarbeitungsergebnisse angezeigt werden (bezogen auf vorstehendesBeispiel: mit einer verringerten Qualität bzw. Auflösung).Oneimportant advantage of the method according to the invention is tosee that the DESIRED value forthe processing time is dynamically adjustable at runtime,without thatProcessing of the process data must be interrupted. ShouldFor example, image processing results are displayed andthe requirements are duringchanged the calculation(for example, those availablestanding time is shortened),so cankeep up with this changeImage processing results are displayed (based on the aboveExample: with a reduced quality or resolution).
[0028] DieMeta-Daten werden vorzugsweise dezentral und/oder parallel in denPipeline-Prozessoren erfaßt.Damit könnenRessourcenzuweisungen oder sonstige Einstellungen kontinuierlichangepasst oder verändertwerden.TheMeta-data is preferably decentralized and / or parallel in thePipeline processors detected.With that you canResource allocations or other settings continuouslyadapted or changedbecome.
[0029] DieerfaßtenMeta-Daten werden an den Execution Time Scheduler weitergeleitetund von ihm verarbeitet. Das Ergebnis dieser Steuerungsaufgabe kanndann wieder zu einer Neuverteilung der Rechnerressourcen führen. BeilängerenVerarbeitungszyklen sieht die Erfindung hier einen iterativen Prozess vor.ThedetectedMeta data is forwarded to the Execution Time Schedulerand processed by him. The result of this control task canthen again lead to a redistribution of computer resources. atlongerProcessing cycles, the invention provides an iterative process here.
[0030] DieAufgabenlösungnach Anspruch 21 sieht eine Anordnung vor, die mehrere Elementeumfaßt: vorzugsweiseist ein Erfassungsmodul, ein Monitoringmodul, eine Logging-Einheit,eine Anytime-Einheit, die jeweils einem Pipeline-Prozessor zugeordnetist, und eine Control-Einheit vorgesehen. Das heisst, bezogen aufdie gesamte Anordnung, sind eine Vielzahl von Pipeline-Prozessoren und diesen jeweilszugeordneten Anytime Einheiten vorgesehen. Bevorzugterweise istdie Logging-Einheit ebenfalls modular aufgebaut und ist dem jeweiligenPipeline-Prozessorzugeordnet. Die Control Einheit ist vorzugsweise als zentrales Bauteilausgebildet, der mit allen Pipeline-Prozessoren der Pipeline und mit demErfassungsmodul in Datenaustausch steht. Alternativ kann vorgesehensein, dass einem Pipeline-Prozessor nicht nur eine Anytime Einheitzugeordnet ist, sondern ein Verbund von Anytime Einheiten, die alleauf die Funktionalitätdes jeweiligen Pipeline-Prozessorsbezogen sind.Thetask solutionaccording to claim 21 provides an arrangement which comprises a plurality of elementsincludes: preferablyis a collection module, a monitoring module, a logging unit,an anytime unit, each associated with a pipeline processoris provided, and a control unit. That means, based onthe entire array, are a variety of pipeline processors and each oneassigned anytime units provided. PreferablyThe logging unit also has a modular structure and is the respective onePipelined processorassigned. The control unit is preferably as a central componenttrained with all the pipeline processors and with the pipelineAcquisition module is in data exchange. Alternatively, it can be providedBe that a pipeline processor not just an Anytime unitis assigned, but a composite of anytime units, allon the functionalityof the respective pipeline processorare related.
[0031] Dievorstehend beschriebenen, erfindungsgemäßen Ausführungsformen des Verfahrenkönnen auchals Computerprogrammprodukt ausgebildet sein, mit einem von einemComputer lesbaren Medium und mit einem Computerprogramm und zugehörigen Programmcode-Mitteln,wobei der Computer nach Laden des Computerprogramms zur Durchführung desoben beschriebenen, erfindungsgemäßen Verfahrens veranlaßt wird.Thedescribed above embodiments of the method according to the inventioncan alsobe designed as a computer program product, with one of aComputer readable medium and with a computer program and associated program code means,the computer after loading the computer program to perform thedescribed above, the inventive method is caused.
[0032] Einealternative Aufgabenlösungsieht ein Speichermedium vor, das zur Speicherung des vorstehendbeschriebenen, computerimplementierten Verfahrens bestimmt ist undvon einem Computer lesbar ist.Aalternative task solutionprovides a storage medium for storing the abovedescribed, computer-implemented method is determined andreadable by a computer.
[0033] Zusätzliche,vorteilhafte Ausführungsformen ergebensich aus den Unteransprüchen.additional,yield advantageous embodimentsfrom the dependent claims.
[0034] Inder folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zuverstehende Ausführungsbeispielemit deren Merkmalen und weiteren Vorteilen anhand der Zeichnungbesprochen. In dieser zeigen:In the following detailed description of the figures are not limiting to be understood embodiments with their features and other advantages with reference to the drawings be spoke. In this show:
[0035] 1 eineschematische Übersicht über einebeispielhafte, erfindungsgemäße Architekturmit drei Pipeline-Prozessoren, 1 a schematic overview of an exemplary, inventive architecture with three pipeline processors,
[0036] 2 einAblaufdiagramm überden Ablauf gemäß einerbevorzugten Ausführungsformder Erfindung. 2 a flowchart of the process according to a preferred embodiment of the invention.
[0037] UnterBezugnahme auf 1 wird nachfolgend die grundlegendeStruktur des erfindungsgemäßen Systemserläutert.Für dieVerarbeitung von Prozessdaten 10 ist eine Pipeline 12 vorgesehen,die aus mehreren, vorzugsweise in Reihe geschalteten Pipeline-ProzessorenPi besteht, dabei kennzeichnet die Bezugsziffer Pi den i-ten Pipeline-Prozessor.Den verschiedenen Pipeline-Prozessoren Pi werden, abhängig vonder Aufgabe (also von der Art der Verarbeitung der Prozessdaten 10)unterschiedliche Tasks zugeordnet.With reference to 1 The basic structure of the system according to the invention is explained below. For the processing of process data 10 is a pipeline 12 provided, which consists of several, preferably in series pipeline processors Pi, while the reference numeral Pi identifies the i-th pipeline processor. The various pipeline processors Pi become dependent on the task (that is, on the way the process data is processed 10 ) assigned different tasks.
[0038] Zielist es, dass nach einem Durchlauf durch die Verarbeitungspileline 12 einVerarbeitungsergebnis generiert wird.The goal is that after a pass through the processing pipeline 12 a processing result is generated.
[0039] Beikomplexen Systemen und/oder bei komplexen Verarbeitungsaufgabenergeben sich häufig Schwankungenhinsichtlich der Verfügbarkeitvon Rechnerressourcen – unddies auch zur Laufzeit des Verarbeitungsvorganges -. Das kann möglicherweise dazuführen,dass eine zu Beginn des Verarbeitungsvorganges getroffenen Einstellungoder Festlegung hinsichtlich der Ressourcen sich zu einem späteren Zeitpunktals unzutreffend erweist, was sich insgesamt negativ für das Verarbeitungsergebnisauswirkt.atcomplex systems and / or complex processing tasksFluctuations often occurin terms of availabilityof computing resources - andthis also at the time of processing -. That may be possibleto lead,a setting made at the beginning of the processingor deciding on resources at a later dateproves to be inaccurate, which is generally negative for the processing resulteffect.
[0040] Umauf diese Schwankungen auch zur Laufzeit flexibel reagieren zu können, siehtdie Erfindung vor, die jeweiligen Pipeline-Prozessoren Pi der Pipeline 12 jeweilsmit einem oder mehreren Anytime Algorithmen auszubilden. Das hatzur Folge, dass die Zeitspanne, die notwendig ist, um das Verarbeitungsergebnisdes jeweiligen Pipeline-Prozessors Pi zu generieren, variabel eingestelltwerden kann – inAbhängigkeitvon einer Qualitäts-oder Gütestufedes Verarbeitungsergebnisses. Damit wird es möglich, die Ressourcen auchzur Laufzeit optimal auf die Pipeline-Prozessoren Pi zu verteilen.In order to be able to react flexibly to these fluctuations even at runtime, the invention provides for the respective pipeline processors Pi of the pipeline 12 each with one or more Anytime algorithms train. As a result, the amount of time necessary to generate the processing result of the respective pipeline processor Pi can be variably set depending on a quality or quality level of the processing result. This makes it possible to optimally distribute the resources even at runtime to the pipeline processors Pi.
[0041] EinErfassungsmodul 16 dient zur Erfassung eines SOLL-Wertesfür diegesamte Verarbeitungszeit. Dieser SOLL-Wert kann vom Anwender, abhängig vonden aktuellen Systemanforderungen, eingestellt werden. Das Erfassungsmodul 16 stehtin Datenaustausch mit einem Control Mechanismus. Der Control Mechanismusdient zur Steuerung der Ressourcen in Hinblick auf die Pipeline-ProzessorenPi. Der Control Mechanismus umfaßt ein zentrales Bauteil, nämlich denExecution Time Scheduler 20. Der Execution Time Scheduler 20 stehtin Datenaustausch mit den fürden Verarbeitungsprozess aktivierten bzw. benötigten Pipeline-ProzessorenPi und mit dem Erfassungsmodul 16 (in der Zeichnung nicht dargestellt).An acquisition module 16 serves to record a target value for the entire processing time. This DESIRED value can be set by the user depending on the current system requirements. The acquisition module 16 is in data exchange with a control mechanism. The control mechanism serves to control the resources with regard to the pipeline processors Pi. The control mechanism comprises a central component, namely the execution time scheduler 20 , The execution time scheduler 20 is in communication with the pipelined processors Pi enabled for the processing process and with the acquisition module 16 (not shown in the drawing).
[0042] Indem in 1 dargestellten Beispiel besteht die Pipeline 12 ausdrei Pipeline-Prozessoren P1, P2 und P3. Als zentrales Element istder Execution Time Scheduler 20 vorgesehen. Jeder Pipeline-ProzessorPi erfaßtseine Verarbeitungszeit (in der Zeichnung als "ProcTime" bezeichnet). Meta-Daten 18 umfassen hauptsächlich diesevorgenannten Timing Informationen. Wesentlich ist, dass zusätzlich zuden zu verarbeitenden Prozessdaten 10 auch die Meta-Daten 18 vonPipeline-Prozessor Pi zu nachfolgendem Pipeline-Prozessor Pi+1 weitergeleitetwerden. Nach Durchlaufen der Pipeline 12 werden diese Verarbeitungszeitenakkumuliert und in dem Execution Time Scheduler 20 verarbeitet.Diese Zeiten beziehen sich auf die aktuellen Verarbeitungszeitenund definieren von daher einen IST-Wert für die Verarbeitungszeit einesjeweiligen Pipeline-ProzessorsPi. Der vom Erfassungsmodul 16 erfaßte SOLL-Wert der Verarbeitungwird auch dem Execution Time Scheduler 20 zugeführt. Deshalbist der Execution Time Scheduler 20 in der Lage, den IST-Wertund den SOLL-Wert in Bezug zueinander zu setzen und die Ressourcenso zuzuweisen, dass bei dem folgenden Durchlaufen der Pipeline 12 odernach einer Sequenz von Pipelinedurchläufen der IST-Wert dem SOLL-Wertangepasst wird.In the in 1 The example shown is the pipeline 12 from three pipeline processors P1, P2 and P3. The central element is the execution time scheduler 20 intended. Each pipeline processor Pi detects its processing time (referred to as "ProcTime" in the drawing). Meta-data 18 mainly include these aforementioned timing information. It is essential that in addition to the process data to be processed 10 also the meta-data 18 from pipeline processor Pi to subsequent pipeline processor Pi + 1. After going through the pipeline 12 These processing times are accumulated and stored in the execution time scheduler 20 processed. These times are related to the actual processing times and therefore define an actual value for the processing time of a respective pipelined processor Pi. The from the acquisition module 16 The captured target value of the processing is also used by the execution time scheduler 20 fed. That's why the execution time scheduler is 20 being able to relate the actual value and the target value to each other and to allocate the resources so that in the subsequent iterating through the pipeline 12 or after a sequence of pipeline passes, the ACTUAL value is adjusted to the DESIRED value.
[0043] In 2 istein Ablaufdiagramm dargestellt, das den grundlegenden Ablauf dererfindungsgemäßen Verfahrensschrittegemäß der bevorzugtenAusführungsformzeigt.In 2 a flow chart is shown which shows the basic sequence of the method steps according to the preferred embodiment according to the invention.
[0044] Daeine Vielzahl von Pipeline-Prozessoren Pi vorgesehen sind, die – je nachAnwendungsfall – unterschiedlicheTasks erfüllen,ist es nicht immer zwingend, dass alle Pipeline-Prozessoren Pi für die jeweilige Verarbeitungnotwendig sind. Deshalb werden in einem ersten Schritt die Pipeline-Prozessoren Pi erfaßt, diefür denaktuellen Verarbeitungsprozess erforderlich sind.Therea variety of pipeline processors Pi are provided, which - depending onUse case - differentFulfill tasks,It is not always mandatory that all pipeline processors Pi for each processingnecessary. Therefore, in a first step, the pipeline processors Pi are detected, thefor thecurrent processing process are required.
[0045] ZurLaufzeit werden dann die jeweiligen Verarbeitungszeiten der einzelnenPipeline-Prozessoren Pi erfaßtund überwacht.Dieses Monitoring findet auch zur Laufzeit statt.toRuntime then become the respective processing times of the individualPipeline processors Pi detectedand monitored.This monitoring also takes place at runtime.
[0046] Ineinem weiteren Verfahrensschritt, der in einer alternativen Ausführungsformauch zeitlich vorgelagert sein kann, werden die Laufzeitbedingungen erfaßt. Hierunterfallen Parame ter, wie insbesondere zur Verfügung stehende Rechnerressourcen,Art der gewünschtenVerarbeitung und andere Parameter. Ebenso wird der SOLL-Wert erfaßt, dereine Aussage überdie gewünschtegesamte Verarbeitungszeit bzw. überdie Qualitätsstufedes Verarbeitungsergebnisses macht.In a further method step, which may also be upstream in an alternative embodiment, the transit time conditions are detected. This includes parameters, such as, in particular, available computer resources, the type of processing desired and other parameters. Likewise, the target value is recorded, which provides information about the desired total processing time or the quality level of the processing result.
[0047] DieerfaßtenWerte, von denen einige auch zur Laufzeit und andere im Vorfeldvor der eigentlichen Verarbeitung ermittelt werden können, werden demExecution Time Scheduler 20 zugeführt. Dieser errechnet aufgrundder Werte eine optimale Belegung der Pipeline-Prozessoren Pi mitden aktuell verfügbarenRechnerressourcen. Oder mit anderen Worten errechnet der ExecutionTime Scheduler 20, wieviel Verarbeitungszeit ein Pipeline-ProzessorPi verbrauchen darf, damit der SOLL-Wert für den gesamten Verarbeitungsprozesseingehalten werden kann. Den Pipeline-Prozessoren Pi werden alsoVerarbeitungszeiten zugewiesen, innerhalb derer sie das Ergebnisan den nächstenPipeline-Prozessor Pi+1 weiterreichen müssen.The captured values, some of which can be determined at runtime and others in advance prior to the actual processing, become the execution time scheduler 20 fed. On the basis of the values, this calculates an optimal allocation of the pipeline processors Pi with the currently available computer resources. Or in other words, the execution time scheduler calculates 20 How much processing time can a pipelined processor Pi consume, so that the target value for the entire processing process can be met. The pipeline processors Pi are thus assigned processing times within which they have to pass the result to the next pipeline processor Pi + 1.
[0048] Mögliche Interdependenzenzwischen den Verarbeitungszeiten der einzelnen Pipeline-ProzessorenPi könnendurch Erfassen von zusätzlichenInterdependenz-Daten verarbeitet werden. Ist es beispielsweise notwendig,dass ein i-ter Pipeline-ProzessorPi von seinem Vorgänger,dem Pipeline-Prozessor Pi-1weiss, in welcher Qualitätsstufeer sein Ergebnis erzeugt hat, so ist es möglich, diese Information beiden Meta-Daten 18 zu übermitteln.Possible interdependencies between the processing times of the individual pipeline processors Pi can be processed by detecting additional interdependent data. If, for example, it is necessary for an ith pipeline processor Pi to know from its predecessor, the pipelined processor Pi-1, in which quality level it has produced its result, then it is possible for this information to be present in the metadata 18 to convey.
[0049] NachDurchlaufen der Pipeline 12 wird überprüft, ob das Ergebnis der Pipelineverarbeitungmit dem SOLL-Wert übereinstimmt.Falls dies bejaht wird, ist das Verfahren beendet. Andernfalls kanndie Pipeline 12 iterativ durchlaufen werden, bis der IST-Wertmit dem SOLL-Wert übereinstimmt.After going through the pipeline 12 Checks whether the result of the pipeline processing matches the DESIRED value. If yes, the process is complete. Otherwise, the pipeline may 12 iteratively until the actual value matches the target value.
[0050] Esist jedoch auch möglich,dass der SOLL-Wert nur einmal zu Beginn der Verarbeitung und nichtdynamisch zur Laufzeit erfaßtwird. Dies vereinfacht zwar das Verfahren, führt jedoch auch zu einer eingeschränkten Flexibilität, denndann ist der Soll-Wert fest definiert und kann nicht dynamisch variiertwerden.Itbut it is also possiblethat the DESIRED value only once at the beginning of processing and notdetected dynamically at runtimebecomes. Although this simplifies the process, it also leads to limited flexibility, becausethen the target value is fixed and can not be varied dynamicallybecome.
[0051] Daswesentliche Architekturkonzept liegt bei der Erfindung auf der Anpassungsmöglichkeitder Systembedingungen zur Laufzeit. Verändern sich z.B. die Anforderungenan das Verarbeitungsergebnis der Prozessdaten 10 oder verändern sichdie verfügbarenRechnerressourcen zur Laufzeit, so kann erfindungsgemäß sofortund unmittelbar eine Anpassung der Verteilung der Verarbeitungszeitenin den Pipeline-Prozessoren Pi bzw. in den Stufen der Pipeline 12 erfolgen,ohne dass die Verarbeitung unterbrochen werden muss. Beispielsweisewerden Bilder, die bereits teilweise berechnet sind, nach den geänderten,neuen Rahmenbedingungen weiter berechnet.The essential architectural concept in the invention lies in the possibility of adapting the system conditions at runtime. For example, the requirements for the processing result of the process data change 10 or change the available computing resources at runtime, so can immediately and immediately according to the invention an adjustment of the distribution of processing times in the pipeline processors Pi and in the stages of the pipeline 12 without interrupting processing. For example, images that are already partially calculated are further calculated according to the changed, new framework conditions.
[0052] Durchdie Verwendung des Pipelinekonzeptes wird es möglich, dass parallel also gleichzeitig mehrereTasks (z.B. Darstellen von Bildern) in den unterschiedlichen Stufender Pipeline 12 abgearbeitet werden. Dies führt zu einerdeutlichen Zeiteinsparung, da Berechnungen teilweise parallel ausgeführt werdenkönnen.Insgesamt bringt dies den Vorteil einer verbesserten Lastverteilungund nütztdie positiven Eigenschaften von Multiprozessorsystemen aus.By using the pipeline concept, it becomes possible to simultaneously execute several tasks simultaneously (eg displaying images) in the different stages of the pipeline 12 be processed. This leads to a significant time saving, since calculations can be carried out partly in parallel. Overall, this provides the advantage of improved load sharing and takes advantage of the benefits of multiprocessor systems.
[0053] Mitder Verwendung eines Anytime Ansatzes bei der Architektur der einzelnenPipeline-Prozessoren Pi wird ein Abwägen zwischen der Verarbeitungszeiteinerseits und der Qualitätdes Verarbeitungsergebnisses andererseits möglich. Damit kann wesentlichflexibler auf Systemänderungenreagiert werden, was bei Verfahren nach dem Stand der Technik teilweisegar nicht möglichwar. Auch kann erreicht werden, dass die verfügbaren Ressourcen zu jedem Zeitpunktoptimal auf die aktiven Verarbeitungsmodule, insbesondere auf diePipeline-Prozessoren Pi, verteilt werden können.Withthe use of an Anytime approach to the architecture of eachPipeline processors Pi will weigh up between processing timeon the one hand and the qualitythe processing result on the other hand possible. This can be essentialmore flexible on system changespartially reacted, which in the prior art methodsnot possible at allwas. Also can be achieved that the available resources at any timeoptimally on the active processing modules, in particular on thePipeline processors Pi, can be distributed.
权利要求:
Claims (21)
[1]
Verfahren zur dynamischen Steuerung von Rechnerressourcenin Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12)bei der Verarbeitung von Prozeßdaten(10) unter veränderlichen Laufzeitbedingungen,umfassend: – Erfasseneines SOLL-Wertes füreine gesamte Verarbeitungszeit, – ein Monitoring zur Laufzeit,das einen IST-Wert für dieVerarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors (Pi) erfaßt, – Loggingvon Meta-Daten (18) bezüglichder Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeit, – ein Anytime-Algorithmus,der jeweils einem Pipeline-Prozessor(Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligenPipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert, und – ein ControlMechanismus, der zur dynamischen Steuerung der Rechnerressourcenin Hinblick auf die Pipeline-Prozessoren (Pi) in Abhängigkeitvon dem SOLL- und dem IST-Wert bestimmt ist.Method for the dynamic control of computer resources in relation to several pipeline processors (Pi) of a pipeline ( 12 ) when processing process data ( 10 ) under variable runtime conditions, comprising: - acquiring a target value for a total processing time, - a monitoring at runtime, which records an actual value for the processing time of a single pipeline processor (Pi), - logging of metadata ( 18 with regard to the processing of the respective pipeline processor (Pi) at runtime, an arbitrary-time algorithm, which is assigned to a pipeline processor (Pi) in each case, and a result of the processing of the respective pipeline processor (Pi) at an adjustable time generated, and - a control mechanism, which is intended for the dynamic control of the computer resources with respect to the pipeline processors (Pi) in dependence on the target and the actual value.
[2]
Verfahren nach Anspruch 1, dadurch gekennzeichnet,dass der Control Mechanismus auch zur Laufzeit und/oder unter variablenLaufzeitbedingungen zur Steuerung, vorzugsweise zur Zuweisung von aktuellverfügbarenRechnerressourcen auf die Pipeline-Prozessoren (Pi) bestimmt ist.Method according to claim 1, characterized in thatthat the control mechanism also at runtime and / or under variableRuntime conditions for the control, preferably for the allocation of currentavailableComputer resources to the pipeline processors (Pi) is determined.
[3]
Verfahren nach mindestens einem der Ansprüche 1 oder2, dadurch gekennzeichnet, dass das Monitoring kontinuierlich und/oderin vorbestimmbaren Zeitintervallen erfolgt.A method according to any one of claims 1 or2, characterized in that the monitoring continuously and / ortakes place in predeterminable time intervals.
[4]
Verfahren nach mindestens einem der vorstehendenAnsprüdadurchgekennzeichnet, dass der Control Mechanismus unter Zugriff auf einenExecution- Time-Scheduler(20) arbeitet, der die Rechnerressourcen zur Laufzeit undohne eine Unterbrechung der Verarbeitung der Prozeßdaten (10)dynamisch den Pipeline-Prozessoren (Pi) derart zuweist, dass derSOLL-Wert fürdie gesamte Verarbeitungszeit eingehalten wird.Method according to at least one of the vorste These claims are characterized in that the control mechanism is accessed by accessing an execution time scheduler ( 20 ), which processes the computer resources at runtime and without interrupting the processing of the process data ( 10 ) dynamically assigns to the pipeline processors (Pi) such that the TARGET value is maintained for the entire processing time.
[5]
Verfahren nach mindestens einem der vorstehendenAnsprüche,dadurch gekennzeichnet, dass die Meta-Daten (18) zumindestInformation überdie Verarbeitungszeit des jeweiligen Pipeline-Prozessors (Pi) umfassen.Method according to at least one of the preceding claims, characterized in that the meta-data ( 18 ) comprise at least information about the processing time of the respective pipeline processor (Pi).
[6]
Verfahren nach mindestens einem der vorstehendenAnsprüche,dadurch gekennzeichnet, dass Daten, zumindest umfassend Prozessdaten(10) und Meta-Daten (18), von einem i-ten Pipeline-Prozessor (Pi)zu einem nachfolgenden, i+1-ten Pipeline-Prozessor (Pi+1) weitergeleitetwerden.Method according to at least one of the preceding claims, characterized in that data, at least comprising process data ( 10 ) and metadata ( 18 ), from an ith pipelined processor (Pi) to a subsequent i + 1th pipelined processor (Pi + 1).
[7]
Verfahren nach mindestens einem der vorstehendenAnsprüche,dadurch gekennzeichnet, dass der SOLL-Wert vom Anwender einstellbarist und dass eine Qualitätsstufedes Verarbeitungsergebnisses abhängigist von diesem SOLL-Wert.Method according to at least one of the precedingClaims,characterized in that the SETPOINT value adjustable by the useris and that a quality leveldependent on the processing resultis of this DESIRED value.
[8]
Verfahren nach mindestens einem der vorstehendenAnsprüche,dadurch gekennzeichnet, dass der SOLL-Wert für die Verarbeitungszeit auchzur Laufzeit dynamisch einstellbar ist, ohne, daß die Verarbeitung der Prozessdaten(10) unterbrochen werden muß.Method according to at least one of the preceding claims, characterized in that the setpoint value for the processing time can also be set dynamically at runtime without the processing of the process data ( 10 ) must be interrupted.
[9]
Verfahren nach mindestens einem der vorstehendenAnsprüche,dadurch gekennzeichnet, dass die Meta-Daten (18) dezentralund/oder parallel in den Pipeline-Prozessoren (Pi) erfaßt werden.Method according to at least one of the preceding claims, characterized in that the meta-data ( 18 ) decentralized and / or parallel in the pipeline processors (Pi).
[10]
Verfahren nach mindestens einem der vorstehendenAnsprüche4 bis 9, dadurch gekennzeichnet, dass die Meta-Daten (18)an den Execution Time Scheduler (20) weitergeleitet undvon ihm verarbeitet werden.Method according to at least one of the preceding claims 4 to 9, characterized in that the meta-data ( 18 ) to the execution time scheduler ( 20 ) and processed by him.
[11]
System zur dynamischen Steuerung von Rechnerressourcenin Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12)bei der Verarbeitung von Prozeßdaten(10) unter veränderlichen Laufzeitbedingungen,umfassend: – einErfassungsmodul (16), das zum Erfassen eines SOLL-Wertes für eine gesamteVerarbeitungszeit bestimmt ist, – ein Monitoringmodul, daseinen IST-Wert fürdie Verarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors(Pi) zur Laufzeit erfaßt, – Loggingvon Meta-Daten (18) bezüglichder Verarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeit, – ein Anytime-Algorithmus,der jeweils einem Pipeline-Prozessor(Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligenPipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert, und – ein ControlMechanismus, der zur dynamischen Steuerung der Rechnerressourcenin Hinblick auf die Pipeline-Prozessoren (Pi) in Abhängigkeitvon dem SOLL- und dem IST-Wert bestimmt ist.System for the dynamic control of computer resources in relation to several Pipeline Processors (Pi) of a pipeline ( 12 ) when processing process data ( 10 ) under variable maturity conditions, comprising: - an acquisition module ( 16 ), which is intended to record a setpoint value for a total processing time, - a monitoring module that records an actual value for the processing time of a single pipeline processor (Pi) at runtime, - logging of metadata ( 18 with regard to the processing of the respective pipeline processor (Pi) at runtime, an arbitrary-time algorithm, which is assigned to a pipeline processor (Pi) in each case, and a result of the processing of the respective pipeline processor (Pi) at an adjustable time generated, and - a control mechanism, which is intended for the dynamic control of the computer resources with respect to the pipeline processors (Pi) in dependence on the target and the actual value.
[12]
System nach Anspruch 11, dadurch gekennzeichnet,dass der Control Mechanismus auch zur Laufzeit und/oder unter variablenLaufzeitbedingungen zur Steuerung, vorzugsweise zu Zuweisung von aktuellverfügbarenRechnerressourcen auf die Pipeline-Prozessoren (Pi) bestimmt ist.System according to claim 11, characterized in thatthat the control mechanism also at runtime and / or under variableRuntime conditions for the control, preferably for assignment of currentavailableComputer resources to the pipeline processors (Pi) is determined.
[13]
System nach mindestens einem der Ansprüche 11 oder12, dadurch gekennzeichnet, dass das Monitoring kontinuierlich und/oderin vorbestimmbaren Zeitintervallen erfolgt.System according to at least one of claims 11 or12, characterized in that the monitoring continuously and / ortakes place in predeterminable time intervals.
[14]
System nach mindestens einem der vorstehenden Ansprüche 11 bis13, dadurch gekennzeichnet, dass der Control Mechanismus unter Zugriffauf einen Execution-Time-Scheduler (20) arbeitet, der dieRechnerressourcen zur Lauzeit und ohne eine Unterbrechung der Verarbeitungder Prozeßdaten (10)dynamisch den Pipeline-Prozessoren (Pi) derart zuweist, dass derSOLL-Wert fürdie gesamte Verarbeitungszeit eingehalten wird.System according to at least one of the preceding claims 11 to 13, characterized in that the control mechanism is accessed by accessing an execution time scheduler ( 20 ) which processes the computer resources at runtime and without interrupting the processing of the process data ( 10 ) dynamically assigns to the pipeline processors (Pi) such that the TARGET value is maintained for the entire processing time.
[15]
System nach mindestens einem der vorstehenden Ansprüche 11 bis14, dadurch gekennzeichnet, dass die Meta-Daten (18) zumindestInformation überdie Verarbeitungszeit des jeweiligen Pipeline-Prozessors (Pi) umfassen.System according to at least one of the preceding claims 11 to 14, characterized in that the metadata ( 18 ) comprise at least information about the processing time of the respective pipeline processor (Pi).
[16]
System nach mindestens einem der vorstehenden Ansprüche 11 bis15, dadurch gekennzeichnet, dass Daten, zumindest umfassend Prozessdaten(10) und Meta-Daten(18), von einem i-ten Pipeline-Prozessor (Pi) zu einemnachfolgenden, i+1-ten Pipeline-Prozessor (Pi+1) weitergeleitetwerden.System according to at least one of the preceding claims 11 to 15, characterized in that data, at least comprising process data ( 10 ) and metadata ( 18 ), from an ith pipelined processor (Pi) to a subsequent i + 1th pipelined processor (Pi + 1).
[17]
System nach mindestens einem der vorstehenden Ansprüche 11 bis16, dadurch gekennzeichnet, dass der SOLL-Wert vom Anwender einstellbar istund dass eine Qualitätsstufedes Verarbeitungsergebnisses abhängigist von diesem SOLL-Wert.System according to at least one of the preceding claims 11 to16, characterized in that the DESIRED value is adjustable by the userand that a quality leveldependent on the processing resultis of this DESIRED value.
[18]
System nach mindestens einem der vorstehenden Ansprüche 11 bis17, dadurch gekennzeichnet, dass der SOLL-Wert für die Verarbeitungszeit auchzur Laufzeit dynamisch einstellbar ist, ohne, daß die Verarbeitung der Prozessdaten(10) unterbrochen werden muß.System according to at least one of the preceding claims 11 to 17, characterized in that the DESIRED value for the processing time is also dynamically adjustable at runtime, without that the processing of the process data ( 10 ) must be interrupted.
[19]
System nach mindestens einem der vorstehenden Ansprüche 11 bis18, dadurch gekennzeichnet, dass die Meta-Daten (18) dezentralund/oder parallel in den Pipeline-Prozessoren (Pi) erfaßt werden.System according to at least one of the preceding claims 11 to 18, characterized gekennzeich net that the meta-data ( 18 ) decentralized and / or parallel in the pipeline processors (Pi).
[20]
System nach mindestens einem der vorstehenden Ansprüche 14 bis19, dadurch gekennzeichnet, dass die Meta-Daten (18) anden Execution Time Scheduler (20) weitergeleitet und vonihm verarbeitet werden.System according to at least one of the preceding claims 14 to 19, characterized in that the metadata ( 18 ) to the execution time scheduler ( 20 ) and processed by him.
[21]
Anordnung zur dynamischen Steuerung von Rechnerressourcenin Bezug auf mehrere Pipeline-Prozessoren (Pi) einer Pipeline (12)bei der Verarbeitung von Prozeßdaten(10) unter veränderlichen Laufzeitbedingungen,umfassend: – zumindestein Erfassungsmodul (16), das zum Erfassen eines SOLL-Wertesfür einegesamte Verarbeitungszeit bestimmt ist, – zumindest ein Monitoringmodul,das einen IST-Wert fürdie Verarbeitungszeit jeweils eines einzelnen Pipeline-Prozessors (Pi) zurLaufzeit erfaßt, – zumindesteine Logging-Einheit, die zum Loggen von Meta-Daten (18) bezüglich derVerarbeitung des jeweiligen Pipeline-Prozessors (Pi) zur Laufzeitbestimmt ist, – zumindesteine Anytime-Einheit, die zum Ablauf eines Anytime Algorithmus ausgelegtist, der jeweils einem Pipeline-Prozessor(Pi) zugeordnet ist und der ein Ergebnis der Verarbeitung des jeweiligenPipeline-Prozessors (Pi) zu einem einstellbaren Zeitpunkt generiert,und – zumindesteine Control Einheit, die zur dynamischen Steuerung der Rechnerressourcenin Hinblick auf die Pipeline-Prozessoren(Pi) in Abhängigkeitvon dem SOLL- und dem IST-Wertbestimmt ist.Arrangement for the dynamic control of computer resources in relation to several pipeline processors (Pi) of a pipeline ( 12 ) when processing process data ( 10 ) under variable maturity conditions, comprising: - at least one acquisition module ( 16 ), which is intended for detecting a target value for a total processing time, - at least one monitoring module that detects an actual value for the processing time of a single pipeline processor (Pi) at runtime, - at least one logging unit, the for logging metadata ( 18 ) with respect to the processing of the respective pipeline processor (Pi) at runtime, - at least one Anytime unit, which is designed for the expiration of Anytime algorithm, which is associated with a respective pipelined processor (Pi) and which is a result of the processing the respective pipeline processor (Pi) generated at an adjustable time, and - at least one control unit, which is intended for the dynamic control of the computer resources with respect to the pipeline processors (Pi) in dependence on the target and the actual value ,
类似技术:
公开号 | 公开日 | 专利标题
EP0130428B1|1987-05-27|Störungserkennungs- und -aufzeichnungssystem
DE60204687T2|2006-05-18|Memory copy command specifying source and destination executed in memory controller
DE60034170T2|2007-12-20|Protocol for coordinating the distribution of shared memory
DE10110504B4|2006-11-23|Method and computer system for managing threads
EP2194432B1|2011-11-09|Scheduling-Verfahren
Neilson et al.1987|Speech motor control and stuttering: A computational model of adaptive sensory-motor processing
DE10393396B4|2010-04-22|Interface and device driver for local power management and methods and software for their control
DE102016013731B4|2019-11-28|Robotic system with features to simplify training and improve operational performance through learning
DE102015203354A1|2015-09-03|SETTINGS OF VEHICLE OPERATOR MONITORING AND OPERATING PROCEDURES
EP1330685B1|2012-12-12|Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen
DE19964424B3|2011-11-17|Device for diagnosing faults and fault conditions in a fuel system of an internal combustion engine
EP1470459B1|2005-08-17|Frühzeitige prognose der zuverlässigkeit einer technischen anordnung
DE102008034500B4|2014-10-02|arbitration
EP2376783B2|2020-11-04|Simulationsgestütztes verfahren zur steuerung bzw. regelung von druckluftstationen
DE102009000868B4|2011-12-29|Device and method for controlling a steering system in a vehicle
EP0636956B1|1999-06-02|Aufdatverfahren
EP3013657B1|2019-01-16|Steuervorrichtung und verfahren zum betreiben einer steuervorrichtung eines kraftfahrzeugs
EP2112568B1|2013-05-01|Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
EP1957309A1|2008-08-20|Verfahren und vorrichtung zur fahrerzustandserkennung
EP1074900A1|2001-02-07|Prädikative Einrichtung zum Regeln oder Steuern von Versorgungsgrössen
EP2954467A1|2015-12-16|Verfahren und vorrichtung zur steuerung einer mit einer erneuerbaren energiequelle betreibbaren energieerzeugungsanlage
EP1483638B1|2007-09-05|Diagnosesystem für mindestens eine technische anlage
WO2011134764A1|2011-11-03|STEUERGERÄT UND VERFAHREN ZUR BERECHNUNG EINER AUSGANGSGRÖßE FÜR EINE STEUERUNG
EP1543389A1|2005-06-22|Verfahren und rechnersystem zum betreiben von mindestens zwei miteinander verbundenen steuergeräten
EP1479003B1|2014-04-09|Verfahren und vorrichtung zur steuerung einer funktionseinheit eines kraftfahrzeugs
同族专利:
公开号 | 公开日
US20050188180A1|2005-08-25|
DE102004001680B4|2012-07-05|
US8161486B2|2012-04-17|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-08-04| OP8| Request for examination as to paragraph 44 patent law|
2011-11-25| R016| Response to examination communication|
2012-02-09| R016| Response to examination communication|
2012-02-23| R018| Grant decision by examination section/examining division|
2013-01-17| R020| Patent grant now final|Effective date: 20121006 |
2016-05-02| R081| Change of applicant/patentee|Owner name: SIEMENS HEALTHCARE GMBH, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE |
优先权:
申请号 | 申请日 | 专利标题
DE200410001680|DE102004001680B4|2004-01-12|2004-01-12|Dynamic control of computing resources in pipelining data using anytime algorithms|DE200410001680| DE102004001680B4|2004-01-12|2004-01-12|Dynamic control of computing resources in pipelining data using anytime algorithms|
US11/033,506| US8161486B2|2004-01-12|2005-01-12|Dynamic control of computer resources for the pipeline processing of data using anytime algorithms|
[返回顶部]